数据库设计规范
-
命令规范
- 所有的单词使用小写+下划线分割组合
- 禁止使用MySQL保留关键字
- 临时表命名:
tmp_tablename_20180101
- 备份表命名:
bak_tablename_20180101
- 拥抱InnoDB(事务、行级锁、恢复性、高并发)
- 编码选择:
UTF-8
- 对表、字段统一注释
-
控制单表数据量大小
- 一般行数不大于
500万
- 分库分表
- 历史数据归档
- 一般行数不大于
-
谨慎使用分区表
- 分区表逻辑上为一个表,在物理上为多文件
- 分区表效率低
- 使用物理分区表管理大数据
-
热冷数据分离,减小表的宽度
- 减小磁盘IO
- 更有效地利用缓存
-
禁止在表中预留字段
- 修改字段造成锁表,成本高
- 表中禁止存储图片、文件等数据
- 禁止在线上正式环境做压力测试(使用专门测试环境)
- 禁止从开发环境、测试环境直连正式环境的数据库
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。